home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: MegaDisc / MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 1 of 2)[WB].zip / MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 1 of 2)[WB].adf / Tutes_&_CLI / ProForma_Score / ProForma_Score
Text File  |  1992-03-30  |  16KB  |  373 lines

  1.  
  2.  
  3.  
  4.  
  5.               00000   00000   00000   00000   00000
  6.               0       0       0   0   0   0   0
  7.               00000   0       0   0   0000    000
  8.                   0   0       0   0   0   0   0
  9.               00000   00000   00000   0   0   00000
  10.  
  11.  
  12.                How a simple command in an Authoring       
  13.              Language took on a large number of tasks     
  14.  
  15.                                                       by John Collett
  16.  
  17.  
  18.  
  19.    Ed: This is not an Amiga-specific article, but does address a subject of
  20.   interest to anyone who's into programming or authoring languages, etc. by
  21.   John, who has contributed so much good material to Megadisc in the past -
  22.   see also his Amos tutorial this issue, amongst other things.
  23.  
  24.  
  25.    (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 ))
  26.  
  27.  
  28.     When, years ago, the authoring language Proforma was taking shape, I
  29.     included in it a method of displaying to students their score to date
  30.     in the current study unit.  I didn't know whether its function would
  31.     be merely informative, or whether it might play a role in student
  32.     motivation, since students appear to attach a curious degree of
  33.     importance to scores, marks, grades, and credits.  I normally use it
  34.     at the end of each major section of a unit.  It screens a message
  35.     such as "Your score to date is 15 out of 20, or 75%".  It simply
  36.     means having the program keep a tally of attempted and correctly
  37.     answered questions, and using the "<SCORE" command in a unit script
  38.     when the display is required.  At certain points within a unit and/or
  39.     at the end of a unit, students can be advised, according to their
  40.     score, to move on to the next unit, to repeat the whole or a part of
  41.     the current unit, to redo one or more earlier units in the series, or
  42.     to undertake study from some other source.
  43.  
  44.       Command Lines and Arguments  
  45.  
  46.     The language was designed to be easy to use, but flexible enough to
  47.     meet most needs of teachers and lecturers who wish to prepare
  48.     tutorial-style study units. Its command mechanism is that any line in
  49.     a tutorial script beginning with  <  is interpreted as a command
  50.     line.  The following characters on that line are a command or any
  51.     abbreviation thereof, as long as enough characters are given to make
  52.     the abbreviation unique.  For example, while <B or <b is enough to
  53.     invoke the <BOX command, <SCORE needs at least <SC or <sc to
  54.     distinguish it from <SUBTITLE.
  55.  
  56.     Many of the commands carry additional arguments to convey details of
  57.     a user's requirements to the program, and these arguments are
  58.     separated from the command word by a space, and from each other, if
  59.     there are more than one, by commas.  For example, methods of
  60.     highlighting text include reverse video (the default), bolding,
  61.     and underlining.  Highlighting can be invoked for one (the default)
  62.     or more lines, and within the actual lines of script the piece of
  63.     text to be highlighted is enclosed {thus}. So if the  <  is the
  64.     initial character on its line, then
  65.  
  66.                <Highlight B,3
  67.  
  68.     invokes bolding of marked text in the next three lines.
  69.  
  70.     This:      <Highlight U,2
  71.  
  72.     and this:  This line {and} the next will
  73.                contain {underlined} words.
  74.  
  75.     will produce
  76.  
  77.                This line and the next will
  78.                contain underlined words.
  79.  
  80.     A function to extract either an integer or a string from a given
  81.     position in a set of arguments obviously plays a central role in the
  82.     processing of a command line, but in its earliest simple form the
  83.     <SCORE command carried no arguments.
  84.  
  85.  
  86.       Additions to the <SCORE command  
  87.  
  88.     Study units are normally constructed in a linear fashion - students
  89.     start at the beginning, and work through to the end.  They can also
  90.     skip forwards or loop back, making it possible, for example, to go
  91.     back over a section which may not have been thoroughly understood,
  92.     or, on a second use of a particular unit, for revision purposes, to
  93.     jump directly to problem areas.
  94.  
  95.     It also means that in a unit which contains, say, 20 questions, a
  96.     student may attempt fewer than 20, by jumping past some of them, or
  97.     more than 20, by looping back and repeating some.  Combining accuracy
  98.     with fairness when displaying scores and in record keeping is quite a
  99.     problem, the intricacies of which need not concern us here.  It is
  100.     clear, however, that the program needs to know how many questions
  101.     there are in a unit before any score calculations can be undertaken.
  102.     The easiest way to give it that information is simply to tell it, and
  103.     this was the first additional function of the <SCORE command. (Yes,
  104.     the program could be made to scan through a unit and simply count
  105.     the questions, but that seemed unnecessary.)
  106.  
  107.     If one argument is added to <SCORE, and if that argument is a number,
  108.     then its function is to tell the program how many questions there are
  109.     in a unit. The best place for it is at the beginning of a script,
  110.     within the first screen load, so that it cannot be skipped over, and
  111.     will always be processed.  It has no immediate effect on what is seen
  112.     on the screen.  But students embarking on a unit might like to know
  113.     how many questions lie ahead of them.  While the command <SCORE 20
  114.     tells the program that there are 20 questions, <SCORE "20" (note the
  115.     quotation marks) does the same, and also displays this message on the
  116.     screen:
  117.  
  118.                There are 20 questions in this unit.
  119.  
  120.  
  121.       Tutorial Core Elements  
  122.  
  123.     A straight count of questions and correct answers proved to be
  124.     insufficiently flexible for some aspects of diagnosis and advice.
  125.     Study units are not usually just a straight and even development from
  126.     beginning to end.  They have a structure, with major and minor roles
  127.     being played by various parts, and often, via explanation, example
  128.     and practice, they work their way towards one or more particular
  129.     targets.  Out of, say, 20 questions, the first 16 may be a part of
  130.     the teaching process leading up to the final four, and it is a
  131.     student's performance on that four which indicates whether or not
  132.     certain fundamental concepts have been grasped and are able to be
  133.     applied.  We may well be more interested in the score obtained on
  134.     the last four questions than in the total score, and would like to
  135.     base diagnosis and advice on that part of the student's performance.
  136.     The concept of a part-score took shape, and the <SCORE command took
  137.     on three more tasks.
  138.  
  139.     <SCORE BEGIN (or any abbreviations) marks the beginning of a section
  140.     in which local score-keeping will be applied.
  141.  
  142.     <SCORE END  marks the end of such a section.
  143.  
  144.     Neither of them have any visible output.
  145.  
  146.     <SCORE SUBSET displays the score to date on a current sub-section.
  147.  
  148.  
  149.     Using these, a sequence of commands in a study text (and their screen
  150.     output, if any) might go thus:
  151.  
  152.      <SCORE
  153.                Your total score to date is 12 out of 16, or 75%
  154.  
  155.      <SCORE B
  156.  
  157.      (Special section of tutorial text, including, say, four questions.)
  158.  
  159.      <SCORE S
  160.                Your score on the last 4 questions was 2, or 50%
  161.  
  162.      <SCORE E
  163.  
  164.      <SCORE
  165.                Your total score to date is 14 out of 20, or 70%
  166.  
  167.  
  168.     Specific advice can be given on the basis of part-scores:
  169.  
  170.       If your score on that section was 50% or less, go back to
  171.       page 8 and work through from there again.
  172.  
  173.     There may even be just one key question in the marked section,
  174.     producing a score of 0% or 100%, and advice might be something like:
  175.  
  176.       If you did not answer that question correctly, you are advised to
  177.       leave this unit now, revise units 3 and 4, and then try this unit
  178.       again.
  179.  
  180.  
  181.       Remedial and Extension Materials  
  182.  
  183.     Giving advice is one thing, but having students act on it is another,
  184.     and a further addition to the language was the command <EXTRA. Full
  185.     details are not given here - just enough to indicate its main
  186.     function, and how it can be combined with the idea of a scored
  187.     sub-section to produce a very flexible teaching tool. The command
  188.     <EXTRA works like this:
  189.  
  190.      <EXTRA >80
  191.  
  192.     Only students scoring above 80% at this point will see the next
  193.     section of the unit, as far as an end marker <EXTRA 0.  It will be
  194.     extension/enrichment material which students with lower scores might
  195.     find too challenging.
  196.  
  197.      <EXTRA <40
  198.  
  199.     Similar, but for students scoring below 40%.  What they see will
  200.     be remedial/revision material.
  201.  
  202.     Either of these can take a second argument:
  203.  
  204.            <EXTRA <n,SUBSET  or  <EXTRA >n,SUBSET
  205.  
  206.     in which case the provision of extension or remedial work is based on
  207.     performance on a particular section of a study script as defined by a
  208.     preceding <SCORE BEGIN.   With a little imagination and not a little
  209.     work, the use of <EXTRA, <SCORE BEGIN and <SCORE END commands can
  210.     convert what what starts off as a linear tutorial into a complex
  211.     branching structure, responding sensitively to the needs of
  212.     individual students.  Nor need students know, unless text is
  213.     specifically included to inform them of the fact, that they have
  214.     been re-routed along a brief remedial or extension side-track.
  215.  
  216.  
  217.                Examples of applications  
  218.  
  219.       1  Remedial work after any question  
  220.  
  221.     The language already allows for a study text to contain comments on
  222.     each question, comments which appear only if a question is answered
  223.     wrongly.  But any question can be enclosed in a sub-section
  224.     containing just that one question. Then if the score on the question
  225.     is less than 100% (i.e. it was answered wrongly), a remedial <EXTRA
  226.     track can be pursued, containing as much in the way of further
  227.     explanations and practice questions as seems appropriate.
  228.  
  229.      <SCORE BEGIN
  230.  
  231.       Beginning of sub-section. Script contains a target question.
  232.  
  233.      <EXTRA <100,SUBSET
  234.  
  235.       Remedial work for students who answer the one question wrongly.
  236.       This can be any length, and can contain more questions if
  237.       required.
  238.  
  239.      <EXTRA 0
  240.  
  241.       End of remedial patch.
  242.  
  243.      <SCORE END
  244.  
  245.       End of sub-section
  246.  
  247.  
  248.       2  Early exclusion of non-starters  
  249.  
  250.     After a few questions, very low scorers can be advised to quit, and
  251.     to do other preliminary work before returning to the current unit.
  252.     With <EXTRA, they can be more than advised - they can be taken to the
  253.     very end of the unit and dropped off, returning them to the menu from
  254.     which they made their original choice.
  255.  
  256.     I don't make use of this in my own units, but it would be a way of
  257.     dealing with those students who go through a unit once, just entering
  258.     garbage as answers, copy down the required answers, and then go
  259.     through again, copying the required answers in, scoring highly, but
  260.     learning virtually nothing.  I could arrange for anyone scoring less
  261.     than, say, 30% after the first few questions to be unceremoniously
  262.     ejected from a unit.  It would be interesting, to say the least, to
  263.     see what reaction this would produce through our "Message" program.
  264.  
  265.  
  266.       Menu Listing of Student Scores to Date  
  267.  
  268.     A completely different use of the <SCORE command occurs in our menu
  269.     units, in which, by definition, the only question asked is "Which
  270.     unit do you want?"
  271.  
  272.     The task of the <SCORE command here is to open the relevant random-
  273.     access file, obtain the record relating to the student using the
  274.     program, and display scores obtained on all units to date.  More than
  275.     that, it displays in bolded form those units of which the date
  276.     deadline has been passed. The implied message is "You should have
  277.     made your first serious attempt at these units by now."  We are still
  278.     exploring different types of penalties for lateness, and still
  279.     assessing their effectiveness as a way of getting students to do
  280.     their computer work regularly, and at times designed to tie in with
  281.     what is being done in class.
  282.  
  283.     For some time the penalty has taken this form:
  284.  
  285.        Unless you have made at least one serious attempt at this unit
  286.        (scoring over 50%) by the deadline, your score will not be recorded.
  287.        Scores over 50% by the deadline can be increased, and will never
  288.        be reduced.
  289.  
  290.     This presented at least two problems:
  291.  
  292.      1
  293.     Some students who had missed a deadline did not even bother to make
  294.     late use of a unit, knowing that whatever mark they obtained, it
  295.     would not be recorded.
  296.  
  297.      2
  298.     Towards the end of the year, students tried to squeeze any extra
  299.     marks they could out of the units, in order to improve their final
  300.     mean score.  Queues developed, and the system was put under pressure.
  301.     The whole thing became nonsensical, with hours being spent to obtain
  302.     a 0.01% improvement in a recorded mean score, without much real
  303.     learning necessarily taking place.
  304.  
  305.     A variation being tried in 1992 takes this form:
  306.  
  307.        Any score obtained before the deadline will be recorded.  Scores
  308.        obtained after the deadline will be reduced by 1% per day by which
  309.        the deadline has been passed, but existing marks will never be
  310.        reduced.
  311.  
  312.     This will penalize less severely attempts which are slightly late, so
  313.     that they are still worth making.  It should encourage students to
  314.     space their best attempts more regularly throughout the year, and
  315.     reduce the end-of-year striving for marks for their own sake.
  316.  
  317.     We'll observe student reaction to and comments on this new regime.
  318.  
  319.     The display of scores-to-date is invoked by the score command with
  320.     five arguments: first, last, column, row, spacing.  Thus:
  321.  
  322.      <SCORE 1,5,30,4,2
  323.  
  324.     would display scores for units 1 to 5 inclusive, with the column
  325.     starting at x and y values of 30 and 4.  The entries would appear on
  326.     alternate lines (the "2" of the fifth argument).
  327.  
  328.  
  329.       Displaying Overall Mean Score to Date  
  330.  
  331.     Many of our other programs display not only scores-to-date on
  332.     attempted units, but also the mean score.  This has been the latest
  333.     (last?) addition to the list of tasks carried out by the <SCORE
  334.     command.  It produces this sort of thing:
  335.                                                    -------
  336.                                                   | Mean  |
  337.                                                   | score |
  338.                                                   | 75.6% |
  339.                                                    -------
  340.  
  341.     The only arguments it needs are x and y values to tell it where to
  342.     display that score and, as with all <SCORE commands, it is by the
  343.     number and nature of the attached arguments that the program knows
  344.     which particular procedure is required.
  345.  
  346.  
  347.        A Summary of Currently Available Score Commands   
  348.  
  349.     In a study script:
  350.  
  351.       <SCORE               -  Displays the total score to date.
  352.       <SCORE 30            -  Tells program the number of questions in unit.
  353.       <SCORE "30"          -  Ditto, and also tells the students.
  354.       <SCORE BEGIN         -  Marks start of subset
  355.       <SCORE SUBSET        -  Displays subset score
  356.       <SCORE END           -  Marks end of subset
  357.  
  358.     In a menu script:
  359.  
  360.       <SCORE 1,10,26,5,1   -  Displays previously obtained scores
  361.                               on a set of units.
  362.       <SCORE 70,15         -  Locates the display of the mean score
  363.                               on units attempted to date.
  364.  
  365.  
  366.    Hamilton,N.Z.,March 1992
  367.  
  368.  
  369.  
  370.    (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 )) (( 27 ))
  371.  
  372.  
  373.